package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.provider.model.domain.SpecValue;
import com.weixing.mall.provider.model.dto.SpecValueDto;
import com.weixing.mall.provider.model.query.SpecValueQuery;
import com.weixing.mall.provider.model.vo.SpecValueVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 商品模块-商品规格值 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-20
 */
public interface ISpecValueService extends IService<SpecValue> {

    /**
     * @Description 添加商品规格值 <br/>
     * @author gjq
     * @date 2019/8/9 16:46
     * @param specValueDto
     * @return void
     */
    void save(SpecValueDto specValueDto);

    /**
     * @Description 根据规格id条件查询规格值 <br/>
     * @author gjq
     * @date 2019/8/12 11:01
     * @param specValueQuery
     * @return java.util.List<com.weixing.mall.provider.model.vo.SpecValueVo>
     */
    IPage<SpecValueVo> selectList(Page page, SpecValueQuery specValueQuery);

    List<SpecValueVo> listTree();

    List<SpecValueVo> treeAbleList(Long  specId);

    IPage<SpecValueVo> selectListByLevel(Page initMpPage, SpecValueQuery specValueQuery);
    List<SpecValueVo> selectListByLevel(SpecValueQuery specValueQuery);

    SpecValueVo selectSprcByErpId(long specId, String erpId);

    List<SpecValueVo>  selectList( SpecValueQuery specValueQuery);
    void init(MultipartFile file);
}
